#import <UIKit/UIKit.h>


@interface Person : NSObject {
//Every attribute of Person is corresponding to one in IPhone Library.
	NSString* _firstName;//const ABPropertyID kABPersonFirstNameProperty;
	NSString* _lastName;//const ABPropertyID kABPersonLastNameProperty;
	NSString* _middleName;//const ABPropertyID kABPersonMiddleNameProperty;
	NSString* _prefix;//const ABPropertyID kABPersonPrefixProperty; example:sir
	NSString* _suffix;//const ABPropertyID kABPersonSuffixProperty; example:jr
	//NSString* _nickName;//const ABPropertyID kABPersonNicknameProperty;
	NSString* _company;//const ABPropertyID kABPersonOrganizationProperty;
	NSString* _jobTitle;//const ABPropertyID kABPersonJobTitleProperty;
	NSString* _department;//const ABPropertyID kABPersonDepartmentProperty;
	NSString* _email;//const ABPropertyID kABPersonEmailProperty;
	NSString* _birthday;//const ABPropertyID kABPersonBirthdayProperty;
	//const ABPropertyID kABPersonNoteProperty;
	//const ABPropertyID kABPersonCreationDateProperty;
	//const ABPropertyID kABPersonModificationDateProperty;
	
	//const ABPropertyID kABPersonAddressProperty;
	NSString* _street;//const CFStringRef kABPersonAddressStreetKey;
	NSString* _city;//const CFStringRef kABPersonAddressCityKey;
	NSString* _state;//const CFStringRef kABPersonAddressStateKey;
	NSString* _zip;//const CFStringRef kABPersonAddressZIPKey;
	NSString* _country;//const CFStringRef kABPersonAddressCountryKey;
    //const CFStringRef kABPersonAddressCountryCodeKey;
	
	//const ABPropertyID kABPersonPhoneProperty;
	NSString* _mobile;//const CFStringRef kABPersonPhoneMobileLabel;
	NSString* _workPhone;//const CFStringRef kABPersonPhoneMainLabel;
	NSString* _homeFax;//const CFStringRef kABPersonPhoneHomeFAXLabel; 
	NSString* _workFax;//const CFStringRef kABPersonPhoneWorkFAXLabel;
	NSString* _workPager;//const CFStringRef kABPersonPhonePagerLabel;
	
	NSString* _personURL;//const ABPropertyID kABPersonURLProperty;
	//const CFStringRef kABPersonHomePageLabel;
	
	//NSString* _personCategory;//Business, Not Categorized, Family, Friends, Personal
	NSString* _UNID;

	
	NSString* _homePhone;//const????
	Boolean _updatedInDatabase;//indicate whether the Person object already get all the information.
}

@property (nonatomic, retain) NSString *firstName;
@property (nonatomic, retain) NSString *lastName;
@property (nonatomic, retain) NSString *middleName;
@property (nonatomic, retain) NSString *prefix;
@property (nonatomic, retain) NSString *suffix;
@property (nonatomic, retain) NSString *company;
@property (nonatomic, retain) NSString *jobTitle;
@property (nonatomic, retain) NSString *department;
@property (nonatomic, retain) NSString *email;
@property (nonatomic, retain) NSString *birthday;

@property (nonatomic, retain) NSString *street;
@property (nonatomic, retain) NSString *city;
@property (nonatomic, retain) NSString *state;
@property (nonatomic, retain) NSString *zip;
@property (nonatomic, retain) NSString *country;
@property (nonatomic, retain) NSString *mobile;
@property (nonatomic, retain) NSString *workPhone;
@property (nonatomic, retain) NSString *workFax;
@property (nonatomic, retain) NSString *homeFax;
@property (nonatomic, retain) NSString *homePhone;
@property (nonatomic, retain) NSString *workPager;
@property (nonatomic, retain) NSString *personURL;
@property (nonatomic, retain) NSString *UNID;
@property Boolean updatedInDatabase;
- (NSArray *)detailInformationArray;
- (BOOL)isNilAttribute:(NSString *)testString;
@end
